package org.jeecg.common.system.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * @Description: 商品管理
 * @Author: jeecg-boot
 * @Date:   2020-08-07
 * @Version: V1.0
 */
@ApiModel(value="rs_product对象", description="商品管理")
@Data
@TableName("rs_product")
public class Product implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private Date createTime;
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private Date updateTime;
	/**所属部门*/
    @ApiModelProperty(value = "所属部门")
    private String sysOrgCode;
	/**商品名称*/
	@Excel(name = "商品名称", width = 15)
    @ApiModelProperty(value = "商品名称")
    private String productName;
	/**日文名称*/
	@Excel(name = "日文名称", width = 15)
    @ApiModelProperty(value = "日文名称")
    private String productOtherName;
	/**货号*/
	@Excel(name = "货号", width = 15)
    @ApiModelProperty(value = "货号")
    private String productCode;
	/**商品类别*/
	@Excel(name = "商品类别", width = 15, dicCode = "product_type")
    @Dict(dicCode = "product_type")
    @ApiModelProperty(value = "商品类别")
    private String productType;
	/**原价*/
	@Excel(name = "原价", width = 15)
    @ApiModelProperty(value = "原价")
    private java.math.BigDecimal originalPrice;
	/**现价*/
	@Excel(name = "现价", width = 15)
    @ApiModelProperty(value = "现价")
    private java.math.BigDecimal price;
	/**商品状态*/
	@Excel(name = "商品状态", width = 15)
    @ApiModelProperty(value = "商品状态")
    @Dict(dicCode = "product_status")
    private String status;
	/**序号*/
	@Excel(name = "序号", width = 15)
    @ApiModelProperty(value = "序号")
    private Integer seq;
	/**备注*/
	@Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remark;
	/**销售数量*/
	@Excel(name = "销售数量", width = 15)
    @ApiModelProperty(value = "销售数量")
    private Integer saleNum;
	/**评论数量*/
	@Excel(name = "评论数量", width = 15)
    @ApiModelProperty(value = "评论数量")
    private Integer commentNum;
	/**是否热销*/
	@Excel(name = "是否热销", width = 15)
    @ApiModelProperty(value = "是否热销")
    @Dict(dicCode = "yn")
    private String hotSale;
	/**是否折扣*/
	@Excel(name = "是否折扣", width = 15)
    @ApiModelProperty(value = "是否折扣")
    @Dict(dicCode = "yn")
    private String discount;
	/**是否新品*/
	@Excel(name = "是否新品", width = 15)
    @ApiModelProperty(value = "是否新品")
    @Dict(dicCode = "yn")
    private String newProduct;
	/**商品活动*/
	@Excel(name = "商品活动", width = 15)
    @ApiModelProperty(value = "商品活动")
    @Dict(dicCode = "product_rule")
    private String ruleId;
	/**活动名称*/
	@Excel(name = "活动名称", width = 15)
    @ApiModelProperty(value = "活动名称")
    private String ruleName;
	/**满减id*/
	@Excel(name = "满减id", width = 15)
    @ApiModelProperty(value = "满减id")
    private String ruleOffId;
	/**满减名称*/
	@Excel(name = "满减名称", width = 15)
    @ApiModelProperty(value = "满减名称")
    private String ruleOffName;
	/**阶梯id*/
	@Excel(name = "阶梯id", width = 15)
    @ApiModelProperty(value = "阶梯id")
    private String stepId;
	/**阶梯名称*/
	@Excel(name = "阶梯名称", width = 15)
    @ApiModelProperty(value = "阶梯名称")
    private String stepName;
	/**上架时间*/
	@Excel(name = "上架时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "上架时间")
    private Date onTime;
	/**语言*/
	@Excel(name = "语言", width = 15)
    @ApiModelProperty(value = "语言")
    private String productLanguage;
	/**风格*/
	@Excel(name = "风格", width = 15)
    @ApiModelProperty(value = "风格")
    private String productStyle;
	/**运营*/
	@Excel(name = "运营", width = 15)
    @ApiModelProperty(value = "运营")
    private String operateUser;
	/**设计师*/
	@Excel(name = "设计师", width = 15)
    @ApiModelProperty(value = "设计师")
    private String designer;
	/**选品员*/
	@Excel(name = "选品员", width = 15)
    @ApiModelProperty(value = "选品员")
    private String selectUser;
    /**站点*/
    @Excel(name = "站点", width = 3)
    @ApiModelProperty(value = "站点")
    private String siteManage;
    /**模板*/
    @Excel(name = "模板", width = 32)
    @ApiModelProperty(value = "模板")
    private String mouldId;
}
